package com.scuvc.dao;

import com.scuvc.entity.RecordInfo;

import java.util.Date;
import java.util.List;

public interface RecordInfoDao {
    /**
     * 租车业务
     * @param recordInfo
     * @return
     */
    int insert(RecordInfo recordInfo);
    /**
     * 通过用户编号查询用户的租赁记录
     * @param userId
     * @return
     */
    List<RecordInfo> queryRecordInfoByUserId(Long userId);
    /**
     * 通过用户编号查询用户的租赁记录
     * @param userId
     * @param carNo
     * @return
     */
    List<RecordInfo> queryRecordInfoByUserIdByCarNo(Long userId,String carNo);
    /**
     * 通过用户编号查询用户的租赁记录，分页
     * @param userId
     * @param carNo
     * @param pageNumber
     * @param pageSize
     * @return
     */
    List<RecordInfo> queryRecordInfoByUserIdByCarNo(Long userId,String carNo,int pageNumber, int pageSize);
    /**
     * 通过用户编号查询用户的租赁记录分页
     * @param userId
     * @param pageNumber
     * @param pageSize
     * @return
     */
    List<RecordInfo> queryRecordInfoByUserIdPage(Long userId,int pageNumber, int pageSize);
    /**
     * 通过用户id查询指定用户名下有未归还的租赁记录
     * @param userId
     * @return
     */
    List<RecordInfo> queryRecordInfoByUserIdNoReturn(Long userId);
    /**
     *  通过租赁编号查询租赁信息
     * @param id
     * @return
     */
    List<RecordInfo> queryRecordInfoById(Long id);
    /**
     * 修改指定租赁记录还车时间和租金总额，用于还车业务
     * @param return_date
     * @param rent_amount
     * @param id
     * @param carNo
     * @return
     */
    int update(Date return_date,Long rent_amount,Long id,String carNo);
}
